package main.java.modules.alipay.service;

import main.java.common.model.Product;

/**
 * 扫码支付
 * 
 * @author D
 *
 */
public interface AlipayService {
	/**
	 * 创建订单需要买家，卖家，金额三要素
	 * 预下单生成二维码，并没有创建订单，用户扫码后订单才会创建，用户扫码前二维码有效期两小时，扫码后有效期根据timeout_express指定
	 */
	String aliPay(Product product);
	
	/**
	 * 支付退款
	 * @param product
	 * @return
	 */
	String aliRefund(Product product);
	
	/**
	 * 关闭订单
	 * @param product
	 * @return
	 */
	String aliCloseOder(Product product);
	
	/**
	 * 下载对账单
	 * @param billDate 账单时间：日账单yyyy-MM-dd 月账单yyyy-MM
	 * @param billType trade,signcustomer;trade指商户基于支付宝交易收单的业务账单，signcustomer指基于商户支付宝余额收入
	 * 	及支出等资金变动的账单
	 * @return
	 */
	String downloadBillUrl(String billDate, String billType);
	
	/**
	 * 网站支付
	 * @param product
	 * @return
	 */
	String aliPayPc(Product product);
}
